It's slightly cheaper and safe as long a copy_from_guest() for the same
guest address range was issued before.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
ret = kexec_get_range_internal(&range);
- if ( ret == 0 && unlikely(copy_to_guest(uarg, &range, 1)) )
- return -EFAULT;
+ if ( ret == 0 && unlikely(__copy_to_guest(uarg, &range, 1)) )
+ ret = -EFAULT;
return ret;
}
if ( (range.start | range.size) & ~(unsigned long)(~0u) )
return -ERANGE;
- if ( ret == 0 ) {
+ if ( ret == 0 )
+ {
XLAT_kexec_range(&compat_range, &range);
- if ( unlikely(copy_to_guest(uarg, &compat_range, 1)) )
- return -EFAULT;
+ if ( unlikely(__copy_to_guest(uarg, &compat_range, 1)) )
+ ret = -EFAULT;
}
return ret;